package main

// import (
// 	"fmt"
// 	"sync"
// 	"time"
// 	"runtime"
// )
// var wg sync.WaitGroup
// func test1(){
// 	for i:=1;i<=10;i++{
// 		fmt.Printf("test hello golang -%d\n",i)
// 		time.Sleep(time.Millisecond*100)
// 	}
// 	wg.Done()//协程计数减一
// }
// func test2(){
// 	for i:=1;i<=10;i++{
// 		fmt.Printf("test2 hello golang -%d\n",i)
// 		time.Sleep(time.Millisecond*200)
// 	}
// 	wg.Done()//协程计数减一
// }
// func main(){
// 	wg.Add(1)//协程计数加一
// 	go test1()
// 	wg.Add(1)
// 	go test2()
// 	for i:=1;i<=10;i++{
// 		fmt.Printf("main hell golang i=%d\n",i)
// 		time.Sleep(time.Millisecond*10)
// 	}
// 	wg.Wait()//等待所有协程执行完毕

// 	fmt.Println("cpu的数量:",runtime.NumCPU())
// 	runtime.GOMAXPROCS(1)//设置cpu的数量
// 	fmt.Println("cpu的数量:",runtime.NumCPU())
// }

import(
	"fmt"
	"sync"
	"time"
)

func test(num int){
	defer wg.Done()
	for i:=1;i<=10;i++{
		fmt.Printf("协程%d打印了%d\n",num,i)
		time.Sleep(time.Millisecond*20)
	}
}
var wg sync.WaitGroup
func main(){
	//开启6个协程  每个协程执行打印一道10的数
	for i:=1;i<=6;i++{
		wg.Add(1)
		go test(i)
	}
	wg.Wait()
	fmt.Printf("程序结束\n")
}